package com.tich.order.service;

import com.tich.order.domain.dto.OrderInsertDTO;
import com.tich.order.domain.dto.OrderSimpleSelectDTO;
import com.tich.order.domain.entity.Orders;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tich.order.domain.vo.OrderSelectVO;
import com.tich.order.domain.vo.OrderSimpleSelectVO;


public interface IOrderService extends IService<Orders> {

    /**
     * 生成订单
     * @param orderInsertDTO
     * @return
     * */
    Long insertOrder(OrderInsertDTO orderInsertDTO);

    /**
     * 取消订单
     * @param id
     * */
    void cancelOrder(Long id);

    /**
     * 删除订单
     * @param id
     * @return
     * */
    void deleteOrder(Long id);

    /**
     * 查询用户的所有订单简略信息
     * @param orderSimpleSelectDTO
     * @return
     * */
    OrderSimpleSelectVO simpleSelectOrders(OrderSimpleSelectDTO orderSimpleSelectDTO);

    /**
     * 查询单个订单的详细信息
     * @param id
     * @return
     * */
    OrderSelectVO selectOrderById(Long id);
}
